public class Main {
    public static void main(String[] args) {


//        System.out.println("Hello world!");

        //初次认识集合框架
        //1.什么是集合框架，
        //java集合框架java Collection Framework，又被称为容易container，是定义在java.util包下面的一组接口interface
        //和他的实现类classes

        //其主要表现为将多个元素element置于一个单元中，对于对这些元素进行快速，边界的存储store、检索retrieves
        //管理manipulate，也就是我们平时俗称的增删改查
        //
        //例如：一副扑克牌（一张张卡片的集合、一个邮箱（一个个邮件的集合）、一个通讯录（一组姓名和电话号码的集合）
        //类和接口总览
        //

        //interface
        //abstract
        //class
        //迭代器
        //对象比较
        //工具类
        //

        //集合框架的重要性
        //1.开发中的使用
        //使用成熟的集合框架，有助于我们便捷、快速的写出搞笑、稳定的代码
        //学习背后的数据结构只是，有助于我们理解各个集合的优缺点以及使用场景
        //2.笔试以及卖你是题：

        //3.背后所涉及的数据结构以及算法
        //3.1什么是数据结构：
        //数据结构是计算机存储、组织数据的方式，指相互之间存在一种或者多种特定关系的数据元素的集合

        //3.2容器背后对应的数据结构
        //该阶段，我们主要学习下买你的容器，每个容器其实都是对某种特定数据结构的封装，大概了解一
        //之后会模拟并且实现
        //1.collection：是一个接口，包含了大部分容器常用的一些方法
        //2.list：是一个接口，规范了ArrayList和LinkList中要实现的方法
        //ArrayList;实现了List接口，底层为动态类型数据表
        //LinkedList：实现了LIst接口，底层为双向链表
        //3.stack：底层是栈，栈是一种特殊的顺序表
        //4.Queue：底层是队列，队列是一种特殊的顺序表
        //5.Deque：是一个接口
        //6.Set：集合，是一个接口，里面放置的是k模型
        //Hashset：底层为哈希桶，查询的时间复杂度为o(1)
        //Treeset:底层是红黑树，查询的时间复杂度为o(logn)
        //7.map:映射，里面存放的是k-v模型的键值对
        //hashmap：底层为哈希桶，查询时间复杂度为o(1)
        //treemap:底层是红黑树，查询的时间复杂度为0(logN)

        //相关的java只是
        //1.泛型Generic
        //2.自动装箱autobox和自动拆箱autounbox
        //3.Object的equals方法
        //4.Comparable和Comparator接口
        //什么是算法：
        //算法：就是定义良好的计算过程，他取一个或者一组的值为输入，并产生一个或者一组值作为输出。
        //简单来说就是一系列的计算步骤，用来将输入数据转化为输出数据（也就是结果）
        //

        //1.死磕代码

        //2.注意画图和思考
        //

        //3.多写博客总结

        //4.多刷题

    }
    //时间和空间复杂度

    //1.算法的效率
    //2。时间复杂度
    //3.空间复杂度

    //1.如何衡量一个算法的好坏

    //2.算法效率

    //时间效率和空间效率


    //3.时间复杂度


    //.大O的渐进表示法--实际上我们去计算时间复杂度的时候，并不需要精确的执行次数
    //我们需要的是一种趋于无穷的，来去帮我们衡量好坏的
    //让他趋于极端情况，看是否我们还能够接受吗，不能接受我们能够i想办法减低吗？？

    //算法的时间复杂度
    //最好情况
    //最坏情况
    //平均情况

    //在实际中我们一般关注的是算法的最坏运行情况
    //如果最坏情况都能接受了，更何况比他好的情况呢
    //

}